Skip to content

ci: CI check for hand-started publish, Slack out of the release-key job - #345

Merged
cbetta merged 3 commits into
mainfrom
ci/release-hardening
Nov 4, 2026
Merged

cbetta merged 3 commits into
mainfrom
ci/release-hardening

Conversation

@cbetta

@cbetta cbetta commented Nov 4, 2026 •

Copy link
Copy Markdown
Member
Reviewer check This PR
Auth / permissions No
Data access widened No
New secret, env var or key No
CI, deploy or infra Yes: sdk_publish.yaml, sdk_merge.yaml, sdk-release pin
Dependencies added or bumped Yes: gr4vy/sdk-release f956131 → 4d17bbf (#15–#17: dependency downgrades, floating versions and non-version text go to a person)
Copilot Pending
Security review Pending

Brings the release hardening the CLI got (gr4vy-cli#186) to this SDK:

sdk_publish  gate: workflow_dispatch needs a green push-event CI run on main for that SHA (+ actions: read)
sdk_merge    Slack step moves to a notify job fed by decide's outputs; decide keeps the release App key
sdk-release  f956131 → `4d17bbf` (#15–#17: dependency downgrades, floating versions and non-version text go to a person)

🤖 Generated with Claude Code

From the CLI's security review: a hand-started Publish SDK now needs a
green CI run on main for that commit, and Merge SDK's Slack step (a
container action) runs in its own job instead of the one holding the
release App key. Pins sdk-release to c8db692.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human validation is still required because the changes affect secret-bearing release workflows, protected-environment isolation, GitHub Actions permission and event behavior, and externally pinned actions that cannot be fully exercised here.

No open issues 🎉

What changed in this PR

This pull request hardens SDK release automation by requiring successful CI for manually triggered publishes and isolating Slack notifications from the release credentials job.

Changes:

  • Adds an Actions API check requiring a successful push-triggered CI run for the selected main commit.
  • Updates the pinned gr4vy/sdk-release action to commit c8db692.
  • Moves merge-time Slack notifications into a separate job using outputs from the release decision job.
File Description
.github/​workflows/​sdk_publish.yaml Adds the manual-publish CI gate and updates the release action pin.
.github/​workflows/​sdk_merge.yaml Exposes release-bot outputs and isolates Slack notification handling from release credentials.

Review effort: Lite

cbetta and others added 2 commits November 4, 2026 16:59
…rson)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cbetta
cbetta marked this pull request as ready for review November 4, 2026 17:53
@cbetta
cbetta requested a lite review from Copilot November 4, 2026 18:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The publish workflow has a critical API-filter error that can bypass the required successful-CI check and allow an unverified manual release.

1 open issue

Review effort: Lite

Comment thread .github/workflows/sdk_publish.yaml Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

A critical active issue remains because the workflow can treat failed or malformed GitHub API verification as success and proceed to manual publishing.

No open issues 🎉

1 resolved since last review

Review effort: Lite

@cbetta
cbetta merged commit ff137dc into main Nov 4, 2026
12 checks passed
@cbetta
cbetta deleted the ci/release-hardening branch November 4, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants